package com.example.demo.mapper;

import com.example.demo.entity.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @Author :蕉绿
 * @Date : 2023/2/24 21:06
 * @Version : V1.0
 * @Description :
 */

@Mapper
public interface UserMapper {

    //根据用户ID查询用户信息
    UserInfo getUserById(@Param("userid") Integer id);

    //查询所有用户
    List<UserInfo> getAll();

    //添加
    int add(UserInfo userInfo);
    //返回自增id
    int add2(UserInfo userInfo);
    //修改
    int updateUser(UserInfo userInfo);
    //删除
    int deleteUser(UserInfo userInfo);
    //${} 的用法
    List<UserInfo> getListByOrder(String  desc);

    // Sql 注入
    UserInfo login(@Param("username") String username,
               @Param("password") String password);

    //like 查询
    UserInfo getUserByName(@Param("username")String username);

    //字段名字不一样时
    UserInfo getByName(@Param("username") String username);

    int setParam(UserInfo userInfo);
    //使用 trim 新增一条记录
    int add1(UserInfo userInfo);
    //使用where标签查询
    UserInfo selectParam(UserInfo userInfo);
    //使用foreach标签 批量删除
    int dels(List<Integer> ids);
    //使用set标签修改
    int setVal(UserInfo userInfo);

}
